package com.fowo.api.model.purchase.order.product;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;
import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.v3.oas.annotations.media.Schema;

/**
    * 采购订单子表 预览导入辅助模型(全字段为文本类型)
    * @author yl_ls
    */
@Data
public class PurchaseOrderProductImportPo {
/** 需求部门 */
@ExcelProperty("需求部门")
@Size(max = 50, message = "需求部门长度不能超过50")
private String applicationDep;

/** 业务标识 */
@ExcelProperty("业务标识")
@EnumsString(value = {"已变更", "已退货", "已换货"}, message = "业务标识只能是“已变更”, “已退货”, “已换货”中的一个")
private String businessIdent;

/** 产品 */
@ExcelProperty("*产品")
@NotBlank(message = "产品不能为空")
@Size(max = 500, message = "产品长度不能超过500")
private String productIdName;
@ExcelIgnore
@Schema(title = "*产品")
private String productId;

/** SKU */
@ExcelProperty("SKU")
@Size(max = 50, message = "SKU长度不能超过50")
private String sku;

/** 品名 */
@ExcelProperty("品名")
@Size(max = 50, message = "品名长度不能超过50")
private String productName;

/** 标签 */
@ExcelProperty("标签")
@Size(max = 50, message = "标签长度不能超过50")
private String tag;

/** 店铺 */
@ExcelProperty("店铺")
@Size(max = 50, message = "店铺长度不能超过50")
private String sidShopName;
@ExcelIgnore
@Schema(title = "店铺")
private String sid;

/** MSKU */
@ExcelProperty("MSKU")
@Size(max = 50, message = "MSKU长度不能超过50")
private String msku;

/** FNSKU */
@ExcelProperty("FNSKU")
@Size(max = 50, message = "FNSKU长度不能超过50")
private String fnskuFnsku;
@ExcelIgnore
@Schema(title = "FNSKU")
private String fnsku;

/** 型号 */
@ExcelProperty("型号")
@Size(max = 50, message = "型号长度不能超过50")
private String model;

/** 采购数量 */
@ExcelProperty("*采购数量")
@NotBlank(message = "采购数量不能为空")
@IntegerString(message = "采购数量数值格式不正确", label="采购数量")
private String applicationNum;

/** 含税单价 */
@ExcelProperty("含税单价")
@DecimalString(message = "含税单价小数格式不正确", label="含税单价")
private String taxPrice;

/** 单价 */
@ExcelProperty("*单价")
@NotBlank(message = "单价不能为空")
@DecimalString(message = "单价小数格式不正确", label="单价")
private String unitPrice;

/** 成本价格 */
@ExcelProperty("*成本价格")
@NotBlank(message = "成本价格不能为空")
@DecimalString(message = "成本价格小数格式不正确", label="成本价格")
private String costPrice;

/** 主材料单价 */
@ExcelProperty("主材料单价")
@DecimalString(message = "主材料单价小数格式不正确", label="主材料单价")
private String mainUnitPrice;

/** 主材料克重 */
@ExcelProperty("主材料克重")
@DecimalString(message = "主材料克重小数格式不正确", label="主材料克重")
private String gramWeight;

/** 工费 */
@ExcelProperty("工费")
@DecimalString(message = "工费小数格式不正确", label="工费")
private String laborCosts;

/** 辅料 */
@ExcelProperty("辅料")
@DecimalString(message = "辅料小数格式不正确", label="辅料")
private String accessoriesPrice;

/** 供应商报价 */
@ExcelProperty("供应商报价")
@Size(max = 50, message = "供应商报价长度不能超过50")
private String psqId;

/** 供应商报价 */
@ExcelProperty("供应商报价")
@Size(max = 50, message = "供应商报价长度不能超过50")
private String psq;

/** 税率 */
@ExcelProperty("税率")
@DecimalString(message = "税率小数格式不正确", label="税率")
private String taxRate;

/** 税额 */
@ExcelProperty("税额")
@DecimalString(message = "税额小数格式不正确", label="税额")
private String taxAmount;

/** 金额 */
@ExcelProperty("金额")
@DecimalString(message = "金额小数格式不正确", label="金额")
private String totalPrice;

/** 价税合计 */
@ExcelProperty("价税合计")
@DecimalString(message = "价税合计小数格式不正确", label="价税合计")
private String amount;

/** 到货量 */
@ExcelProperty("到货量")
@IntegerString(message = "到货量数值格式不正确", label="到货量")
private String quantityReceived;

/** 待到货量 */
@ExcelProperty("待到货量")
@IntegerString(message = "待到货量数值格式不正确", label="待到货量")
private String quantityReceive;

/** 退货量 */
@ExcelProperty("退货量")
@IntegerString(message = "退货量数值格式不正确", label="退货量")
private String quantityReturn;

/** 预计到货时间 */
@ExcelProperty("预计到货时间")
@DateString(message = "预计到货时间不是有效的日期格式")
private String expectArriveTime;

/** 到货日期 */
@ExcelProperty("到货日期")
@DateString(message = "到货日期不是有效的日期格式")
private String arrivalDate;

/** 采购单位 */
@ExcelProperty("采购单位")
@Size(max = 50, message = "采购单位长度不能超过50")
private String applicationUnit;

/** 库存单位 */
@ExcelProperty("库存单位")
@Size(max = 50, message = "库存单位长度不能超过50")
private String inventoryUnit;

/** 所属采购订单 */
@ExcelProperty("所属采购订单")
private String purchaseOrderIdPurchaseOrderCode;
@ExcelIgnore
@Schema(title = "所属采购订单")
private String purchaseOrderId;

/** 备注 */
@ExcelProperty("备注")
@Size(max = 50, message = "备注长度不能超过50")
private String remarks;

/** 采购计划编号 */
@ExcelProperty("采购计划编号")
@Size(max = 50, message = "采购计划编号长度不能超过50")
private String planSn;

/** 下推贷款现结源表勾稽字段 */
@ExcelProperty("下推贷款现结源表勾稽字段")
@LongString(message = "下推贷款现结源表勾稽字段数值格式不正确", label="下推贷款现结源表勾稽字段")
private String crossQty;

/** 本店铺的库存 */
@ExcelProperty("本店铺的库存")
@LongString(message = "本店铺的库存数值格式不正确", label="本店铺的库存")
private String localShopInventory;

/** 其他店铺的库存 */
@ExcelProperty("其他店铺的库存")
@LongString(message = "其他店铺的库存数值格式不正确", label="其他店铺的库存")
private String otherShopInventory;

/** 公共的库存 */
@ExcelProperty("公共的库存")
@LongString(message = "公共的库存数值格式不正确", label="公共的库存")
private String publicInventory;

/** 3天销量 */
@ExcelProperty("3天销量")
@LongString(message = "3天销量数值格式不正确", label="3天销量", min = 0L)
private String threeSalesVolume;

/** 7天销量 */
@ExcelProperty("7天销量")
@LongString(message = "7天销量数值格式不正确", label="7天销量", min = 0L)
private String sevenSalesVolume;

/** 30天销量 */
@ExcelProperty("30天销量")
@LongString(message = "30天销量数值格式不正确", label="30天销量", min = 0L)
private String thirtySalesVolume;

/** 退款勾稽字段 */
@ExcelProperty("退款勾稽字段")
@LongString(message = "退款勾稽字段数值格式不正确", label="退款勾稽字段")
private String crossChecking;

/** 店铺编号 */
@ExcelProperty("店铺编号")
@Size(max = 50, message = "店铺编号长度不能超过50")
private String scode;

/** 领星价格 */
@ExcelProperty("领星价格")
@DecimalString(message = "领星价格小数格式不正确", label="领星价格")
private String lxPrice;

/** 领星价格合计 */
@ExcelProperty("领星价格合计")
@DecimalString(message = "领星价格合计小数格式不正确", label="领星价格合计")
private String lxTotalPrice;

/** 领星fnsku */
@ExcelProperty("领星fnsku")
@Size(max = 50, message = "领星fnsku长度不能超过50")
private String lxFnsku;

/** 本地库龄 */
@ExcelProperty("本地库龄")
@Size(max = 50, message = "本地库龄长度不能超过50")
private String localDayList;

/** fba */
@ExcelProperty("fba")
@Size(max = 50, message = "fba长度不能超过50")
private String fbaDayList;

/** 销量 */
@ExcelProperty("销量")
@Size(max = 50, message = "销量长度不能超过50")
private String skuSales;

/** 同期销量 */
@ExcelProperty("同期销量")
@LongString(message = "同期销量数值格式不正确", label="同期销量")
private String sameSales;

}
